<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <!-- 引入刚刚下载的 ECharts 文件 -->
    <script th:src="@{/echarts/echarts.min.js}"></script>
    <script th:src="@{/echarts/china.js}"></script>
    <script th:src="@{/echarts/jquery-1.11.1.min.js}"></script>
    <link rel="stylesheet" th:href="@{/layui/css/layui.css}" media="all">
    <script th:src="@{/layui/layui.js}" charset="utf-8"></script>
    <style>
        .container {
            position: relative;
            height: 5px;
            /*border: 1px solid black;*/
        }
        .top-align {
            position: absolute;
            right: 0;
            top: 0;
        }
    </style>
</head>

<body class="childrenBody">

<div>

    <!-- 内容主体区域 -->
    <div style="padding: 15px;">
        <div class="container">
            <!-- line.html 中的返回首页的链接 -->
            <div class="top-align">
                <h2 style="padding: 20px 20px"><b><a th:href="@{/toChina}">返回首页</a></b></h2>
            </div>
        </div>
        <!-- 为 ECharts 准备一个定义了宽高的 DOM -->
        <div id="main" style="width: 1000px;height:800px;"></div>
    </div>
</div>
<script type="text/javascript">
    // 基于准备好的dom，初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    option = {
        title: {
            text: '近七次中国人口普查数据折线图'
        },
        tooltip: {
            trigger: 'axis'
        },
        legend: {
            data: ['总人口数(万)', '出生人数(万)', '死亡人数(万)', '自然增长率(‰)' ]
        },
        grid: {
            left: '3%',
            right: '4%',
            bottom: '3%',
            containLabel: true
        },
        toolbox: {
            feature: {
                saveAsImage: {}
            }
        },
        xAxis: {
            type: 'category',
            boundaryGap: false,
            data: []
        },
        yAxis: {
            type: 'value'
        }
    };

    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);

    // 使用 jQuery 的 $.ajax 方法发起一个异步的 HTTP 请求
    $.ajax({
        // 设置请求的目标 URL，这里会向服务器的 /query 接口发送请求
        url: "/queryLine",
        // 指定期望从服务器返回的数据类型为 JSON，jQuery 会自动将响应内容解析为 JavaScript 对象
        dataType: "json",
        // 当请求成功（服务器返回状态码为 200）时执行的回调函数
        success: function (data) {
            // 使用 echarts 图表对象 myChart 的 setOption 方法更新图表的配置选项
            myChart.setOption({
                // 设置图表的系列配置
                xAxis: {
                    // 动态设置 x 轴数据
                    data: data.censusTimeDescList
                },
                series: [
                {
                    name: '总人口数(万)',
                    type: 'line',
                    stack: 'Total',
                    data: data.totalPopulationList
                },
                {
                    name: '出生人数(万)',
                    type: 'line',
                    stack: 'Total',
                    data: data.birthNumList
                },
                {
                    name: '死亡人数(万)',
                    type: 'line',
                    stack: 'Total',
                    data: data.deadNumList
                },
                {
                    name: '自然增长率(‰)',
                    type: 'line',
                    stack: 'Total',
                    data: data.netPopulationGrowthList
                }
            ]
            });
            // 在控制台输出请求成功的提示信息，并打印更新后的 dataList 数组
            console.log("请求成功，数据已更新：", data);
        },
        // 当请求失败时执行的回调函数
        error: function (jqXHR, textStatus, errorThrown) {
            // 在控制台输出请求失败的错误信息，包括请求状态和错误描述
            console.error("请求失败：", textStatus, errorThrown);
        }
    });
</script>
</body>
</html>